<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Vue - Demo</title>
    <!-- 引入vue -->
    <script src="js/vue.min.js"></script>
    <!-- 引入vue路由 -->
    <script src="js/vue-router.min.js"></script>
</head>
<body>
    <div id="demo">
        <h1>Hello Vue</h1>
        <p>
            <!-- 使用 router-link 组件来导航 -->
            <!-- 通过传入 ‘to’ 属性指定链接 -->
            <!-- <router-link>默认会被渲染成一个‘a’标签 -->
            <router-link to="/">首页</router-link>
            <router-link to="/student">学员管理</router-link>
            <router-link to="/teacher">讲师管理</router-link>
        </p>

        <!-- 路由出口 -->
        <!-- 路由匹配到的组件将渲染在这里 -->
        <router-view></router-view>
    </div>
    <script>

        // 1.定义路由组件
        // 可以从其他文件 import 进来
        const Welcome = {template: `<div>欢迎</div>`}
        const Student = {template: `<div>Student List</div>`}
        const Teacher = {template: `<div>Teacher List</div>`}

        // 2.定义路由
        // 每个路由应该映射一个组件
        const routes = [
            {path: "/", redirect: "/welcome"}, // 设置默认指向的路径
            {path: "/welcome", component: Welcome},
            {path: "/student", component: Student},
            {path: "/teacher", component: Teacher}
        ]

        // 3.创建router实例，然后传‘routes’配置
        const router = new VueRouter({
            routes // （缩写）相当于 routes: routes
        })

        // 4.创建和挂载根实例。
        // 从而让整个应用都有路由功能
        // 创建一个vue对象
        new Vue({
            el: '#demo',    // 绑定vue作用的范围
            router ,        // 挂载路由实例
            data: {         // 定义页面中显示的模型数据
                
            },
            created() {     // 在页面渲染之前执行
                
            },
            mounted() {     // 在页面渲染之后执行
                
            },
            methods: {      // 定义多个方法
                
            },
            components: {   // 定义多个局部组件
                
            }
        })
    </script>
</body>
</html>